Руководство по работе с ошибками обработки кода

Некоторые ошибки (например ошибки синтаксиса или иерархии) могут привести к тому, что САПР не сможет построить схему или запустить симуляцию.

Без должного опыта, при подобных ошибках можно растеряться, т.к. всплывающие окна, сообщающие об этих ошибках малоинформативны (см. рис. 1-2).

Предположим, мы забыли поставить точку с запятой в конце одного из присваиваний, и попробовали запустить моделирование.

В результате, всплывающие окна, представленные на рис. 1-2.

../.pic/Vivado%20Basics/08.%20Code%20processing%20errors/fig_01.png

Рисунок 1. Первое всплывающее окно при попытке запустить моделирование проекта с синтаксической ошибкой.

../.pic/Vivado%20Basics/08.%20Code%20processing%20errors/fig_02.png

Рисунок 2. Второе всплывающее окно при попытке запустить моделирование проекта с синтаксической ошибкой.

Во втором окне есть кнопка Open Messages View. Нажмём её. Будет активировано окно сообщений, представленное на рис. 3.

../.pic/Vivado%20Basics/08.%20Code%20processing%20errors/fig_03.png

Рисунок 3. Окно сообщений после неудачной попытки запуска симуляции.

Сообщения из раздела Vivado commands на рис. 2 дают мало информации. Однако здесь же есть критические предупреждения о синтаксической ошибке с возможностью перейти к строчке в файле, вызвавшей это предупреждение. Разумеется, не всегда САПР может сообщить доступным языком в чем именно ошибка, в данном случае, он просто обнаружил что ключевое слово end встретилось не там, где оно должно было бы быть (оно встретилось до завершения оператора присваивания, который должен был быть завершен символом ;). В этом случае, вам необходимо самим разобраться в чем именно заключается ошибка (для этого вы можете кликнуть по гиперссылке в критическом предупреждении — откроется редактор с местом ошибки).

Помните, что большая часть сообщений в данном окне сохраняется даже если ошибка будет исправлена, поэтому рекомендуется очищать окно сообщений, в случае если появились ошибки и уже сложно понять какие из них старые, а какие из них новые. Сделать это можно, нажав на иконку корзины в окне сообщений. При этом удалятся не все ошибки, а только те, которые были вызваны процессами, запущенными пользователем. К примеру, если очистить окно сообщений, не исправив указанную ошибку, пропадут только ошибки из раздела Vivado commands. Дело в том, что критические предупреждения появились не после того, как мы попытались запустить моделирования, а после того, как Vivado автоматически запустил инструменты анализа кода. Делает он это автоматически каждый раз, когда сохраняется файл. Эти ошибки пропадут только когда повторный анализ покажет, что они были исправлены.